import 'dart:convert';

import 'package:enterprise_v6_app/generated/json/base/json_field.dart';
import 'package:enterprise_v6_app/generated/json/interrupt_record_entity.g.dart';

@JsonSerializable()
class InterruptRecordEntity {

	InterruptRecordEntity();

	factory InterruptRecordEntity.fromJson(Map<String, dynamic> json) => $InterruptRecordEntityFromJson(json);
	String? companyCode;
	String? createBy;
	String? createById;
	String? createDate;
	String? deleted;
	String? id;
	String? interruptDate;
	String? interruptReason;
	String? interruptSign;
	String? interruptStartDate;
	String? interruptUserId;
	String? interruptUserName;
	String? ticketPlanId;
	String? ticketReceiptId;
	String? updateBy;
	String? updateById;
	String? updateDate;

	Map<String, dynamic> toJson() => $InterruptRecordEntityToJson(this);

	InterruptRecordEntity copyWith({String? companyCode, String? createBy, String? createById, String? createDate, String? deleted, String? id, String? interruptDate, String? interruptReason, String? interruptSign, String? interruptStartDate, String? interruptUserId, String? interruptUserName, String? ticketPlanId, String? ticketReceiptId, String? updateBy, String? updateById, String? updateDate}) {
		return InterruptRecordEntity()
			..companyCode= companyCode ?? this.companyCode
			..createBy= createBy ?? this.createBy
			..createById= createById ?? this.createById
			..createDate= createDate ?? this.createDate
			..deleted= deleted ?? this.deleted
			..id= id ?? this.id
			..interruptDate= interruptDate ?? this.interruptDate
			..interruptReason= interruptReason ?? this.interruptReason
			..interruptSign= interruptSign ?? this.interruptSign
			..interruptStartDate= interruptStartDate ?? this.interruptStartDate
			..interruptUserId= interruptUserId ?? this.interruptUserId
			..interruptUserName= interruptUserName ?? this.interruptUserName
			..ticketPlanId= ticketPlanId ?? this.ticketPlanId
			..ticketReceiptId= ticketReceiptId ?? this.ticketReceiptId
			..updateBy= updateBy ?? this.updateBy
			..updateById= updateById ?? this.updateById
			..updateDate= updateDate ?? this.updateDate;
	}

	@override
	String toString() {
		return jsonEncode(this);
	}
}